use std::sync::OnceLock as 單次鎖;

use crate::{對照表, 漢字對照表配置參數, 讀取對照表, 轉換};

static 繁簡對照表: 單次鎖<對照表> = 單次鎖::new();

static 漢字對照表: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/data/t2schars.tsv");
static 詞組對照表: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/data/t2sphrases.tsv");

pub fn 繁簡轉換(繁體: &str) -> String {
    let 對照表 =
        繁簡對照表.get_or_init(|| 讀取對照表(漢字對照表, 詞組對照表, 漢字對照表配置參數).unwrap());
    轉換(繁體, 對照表)
}
